Debug | Releaseビルドで処理を分ける
SIV3D_BUILD マクロ
# if SIV3D_BUILD(DEBUG)~ # endif を、ビルド時のみ有効なコードを書く時に使う。
# if SIV3D_BUILD(RELEASE) ~ # endif を、リリース時のみ有効なコードを書く時に使う。
(参考) Visual Studio だけに対応したプロジェクトでは # if _DEBUG を使うこともできる。
code:cpp
# include <Siv3D.hpp>
void Main()
{
# if SIV3D_BUILD(DEBUG)
// デバッグビルド時のみ有効になるコード
Scene::SetBackground(ColorF{ 0.6, 0.8, 0.7 });
# endif
while (System::Update())
{
}
}
使用例 1
開発時(デバッグビルド時)はウィンドウモードで起動し、リリースビルド時はフルスクリーンモードで起動する。
code:cpp
# include <Siv3D.hpp>
void Main()
{
Window::Resize(1280, 720);
# if SIV3D_BUILD(RELEASE)
Window::SetFullscreen(true);
# endif
while (System::Update())
{
}
}
使用例 2
使用例 1 の短い書き方
code:cpp
# include <Siv3D.hpp>
void Main()
{
Window::Resize(1280, 720);
Window::SetFullscreen(SIV3D_BUILD(RELEASE) ? true : false);
while (System::Update())
{
}
}
使用例 3
デバッグの時のみ出力するマクロを作る。
code:cpp
# include <Siv3D.hpp>
# if SIV3D_BUILD(DEBUG)
# define DEBUG_CONSOLE(s) { Console << s; }
# else
# define DEBUG_CONSOLE(s)
# endif
void Main()
{
int32 hp = 200;
// デバッグビルドでのみ出力される
DEBUG_CONSOLE(U"hp: {}"_fmt(hp));
while (System::Update())
{
}
}
#開発テクニック #デバッグ